home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d880.lha / Oberon / O3Demo2.lzh / Definitions / Exec.def < prev    next >
Text File  |  1993-01-15  |  19KB  |  722 lines

  1. DEFINITION Exec;
  2.  
  3. CONST
  4.   deadEnd = 080000000H;
  5.   recovery = 000000000H;
  6.   noMemory = 000010000H;
  7.   makeLib = 000020000H;
  8.   openLib = 000030000H;
  9.   openDev = 000040000H;
  10.   openRes = 000050000H;
  11.   ioError = 000060000H;
  12.   noSignal = 000070000H;
  13.   badParm = 000080000H;
  14.   closeLib = 000090000H;
  15.   closeDev = 0000A0000H;
  16.   procCreate = 0000B0000H;
  17.   execLib = 000008001H;
  18.   graphicsLib = 000008002H;
  19.   layersLib = 000008003H;
  20.   intuition = 000008004H;
  21.   mathLib = 000008005H;
  22.   dosLib = 000008007H;
  23.   ramLib = 000008008H;
  24.   iconLib = 000008009H;
  25.   expansionLib = 00000800AH;
  26.   diskfontLib = 00000800BH;
  27.   utilityLib = 00000800CH;
  28.   audioDev = 000008010H;
  29.   consoleDev = 000008011H;
  30.   gamePortDev = 000008012H;
  31.   keyboardDev = 000008013H;
  32.   trackDiskDev = 000008014H;
  33.   timerDev = 000008015H;
  34.   ciaRsrc = 000008020H;
  35.   diskRsrc = 000008021H;
  36.   miscRsrc = 000008022H;
  37.   bootStrap = 000008030H;
  38.   workbench = 000008031H;
  39.   diskCopy = 000008032H;
  40.   gadTools = 000008033H;
  41.   atUnknown = 000008035H;
  42.   anExecLib = 001000000H;
  43.   excptVect = 001000001H;
  44.   baseChkSum = 001000002H;
  45.   libChkSum = 001000003H;
  46.   memCorrupt = 081000005H;
  47.   intrMem = 081000006H;
  48.   initAPtr = 001000007H;
  49.   semCorrupt = 001000008H;
  50.   freeTwice = 001000009H;
  51.   bogusExcpt = 08100000AH;
  52.   ioUsedTwice = 00100000BH;
  53.   memoryInsane = 00100000CH;
  54.   ioAfterClose = 00100000DH;
  55.   stackProbe = 00100000EH;
  56.   badFreeAddr = 00100000FH;
  57.   anGraphicsLib = 002000000H;
  58.   gfxNoMem = 082010000H;
  59.   gfxNoMemMspc = 082010001H;
  60.   longFrame = 082010006H;
  61.   shortFrame = 082010007H;
  62.   textTmpRas = 002010009H;
  63.   bltBitMap = 08201000AH;
  64.   regionMemory = 08201000BH;
  65.   makeVPort = 082010030H;
  66.   gfxNewError = 00200000CH;
  67.   gfxFreeError = 00200000DH;
  68.   gfxNoLCM = 082011234H;
  69.   obsoleteFont = 002000401H;
  70.   anLayersLib = 003000000H;
  71.   layersNoMem = 083010000H;
  72.   anIntuition = 004000000H;
  73.   gadgetType = 084000001H;
  74.   badGadget = 004000001H;
  75.   createPort = 084010002H;
  76.   itemAlloc = 004010003H;
  77.   subAlloc = 004010004H;
  78.   planeAlloc = 084010005H;
  79.   itemBoxTop = 084000006H;
  80.   openScreen = 084010007H;
  81.   openScrnRast = 084010008H;
  82.   sysScrnType = 084000009H;
  83.   addSWGadget = 08401000AH;
  84.   openWindow = 08401000BH;
  85.   badState = 08400000CH;
  86.   badMessage = 08400000DH;
  87.   weirdEcho = 08400000EH;
  88.   noConsole = 08400000FH;
  89.   anMathLib = 005000000H;
  90.   anDosLib = 007000000H;
  91.   startMem = 007010001H;
  92.   endTask = 007000002H;
  93.   qPktFail = 007000003H;
  94.   asyncPkt = 007000004H;
  95.   freeVec = 007000005H;
  96.   diskBlkSeq = 007000006H;
  97.   bitMap = 007000007H;
  98.   keyFree = 007000008H;
  99.   badChkSum = 007000009H;
  100.   diskError = 00700000AH;
  101.   keyRange = 00700000BH;
  102.   badOverlay = 00700000CH;
  103.   badInitFunc = 00700000DH;
  104.   fileReclosed = 00700000EH;
  105.   anRAMLib = 008000000H;
  106.   badSegList = 008000001H;
  107.   anIconLib = 009000000H;
  108.   anExpansionLib = 00A000000H;
  109.   badExpansionFree = 00A000001H;
  110.   anDiskfontLib = 00B000000H;
  111.   anAudioDev = 010000000H;
  112.   anConsoleDev = 011000000H;
  113.   noWindow = 011000001H;
  114.   anGamePortDev = 012000000H;
  115.   anKeyboardDev = 013000000H;
  116.   anTrackDiskDev = 014000000H;
  117.   tdCalibSeek = 014000001H;
  118.   tdDelay = 014000002H;
  119.   anTimerDev = 015000000H;
  120.   tmBadReq = 015000001H;
  121.   tmBadSupply = 015000002H;
  122.   anCIARsrc = 020000000H;
  123.   anDiskRsrc = 021000000H;
  124.   drHasDisk = 021000001H;
  125.   drIntNoAct = 021000002H;
  126.   anMiscRsrc = 022000000H;
  127.   anBootStrap = 030000000H;
  128.   bootError = 030000001H;
  129.   anWorkbench = 031000000H;
  130.   noFonts = 0B1000001H;
  131.   wbBadStartupMsg1 = 031000001H;
  132.   wbBadStartupMsg2 = 031000002H;
  133.   wbBadIOMsg = 031000003H;
  134.   wbInitPotionAllocDrawer = 0B1010004H;
  135.   wbCreateWBMenusCreateMenus1 = 0B1010005H;
  136.   wbCreateWBMenusCreateMenus2 = 0B1010006H;
  137.   wbLayoutWBMenusLayoutMenus = 0B1010007H;
  138.   wbAddToolMenuItem = 0B1010008H;
  139.   wbReLayoutToolMenu = 0B1010009H;
  140.   wbinitTimer = 0B101000AH;
  141.   wbInitLayerDemon = 0B101000BH;
  142.   wbinitWbGels = 0B101000CH;
  143.   wbInitScreenAndWindows1 = 0B101000DH;
  144.   wbInitScreenAndWindows2 = 0B101000EH;
  145.   wbInitScreenAndWindows3 = 0B101000FH;
  146.   wbMAlloc = 0B1010010H;
  147.   anDiskCopy = 032000000H;
  148.   anGadTools = 033000000H;
  149.   anUtilityLib = 034000000H;
  150.   anUnknown = 035000000H;
  151.  
  152. CONST
  153.   includeVersion = 36;
  154.  
  155. TYPE
  156.   ADDRESS = SYSTEM.ADDRESS;
  157.   APTR = ADDRESS;
  158.   BPTR = BPOINTER TO LONGINT;
  159.   LONG = LONGINT;
  160.   ULONG = LONGINT;
  161.   LONGBITS = LONGSET;
  162.   WORD = INTEGER;
  163.   UWORD = INTEGER;
  164.   WORDBITS = SET;
  165.   BYTE = SYSTEM.BYTE;
  166.   SBYTE = SHORTINT;
  167.   UBYTE = BYTE;
  168.   BYTEBITS = SHORTSET;
  169.   RPTR = INTEGER;
  170.   STRING = ARRAY 256 OF CHAR;
  171.   STRPTR = UNTRACED POINTER TO STRING;
  172.   PROC = PROCEDURE;
  173.   FLOAT = REAL;
  174.   DOUBLE = LONGREAL;
  175.   SINGLE = LONGINT;
  176.   BOOL = INTEGER;
  177.   TEXT = CHAR;
  178.  
  179. CONST
  180.   true = 1;
  181.   false = 0;
  182.   null = NIL;
  183.   byteMask = 255;
  184.   libraryMinimum = 33;
  185.  
  186. TYPE
  187.   NodePtr = UNTRACED POINTER TO Node;
  188.   MinNodePtr = UNTRACED POINTER TO MinNode;
  189.   ListPtr = UNTRACED POINTER TO List;
  190.   MinListPtr = UNTRACED POINTER TO MinList;
  191.   TaskPtr = UNTRACED POINTER TO Task;
  192.   MsgPortPtr = UNTRACED POINTER TO MsgPort;
  193.   MsgPortSoftIntPtr = UNTRACED POINTER TO MsgPortSoftInt;
  194.   MessagePtr = UNTRACED POINTER TO Message;
  195.   InterruptPtr = UNTRACED POINTER TO Interrupt;
  196.   LibraryPtr = UNTRACED POINTER TO Library;
  197.   DevicePtr = UNTRACED POINTER TO Device;
  198.   UnitPtr = UNTRACED POINTER TO Unit;
  199.   IntVectorPtr = UNTRACED POINTER TO IntVector;
  200.   SoftIntListPtr = UNTRACED POINTER TO SoftIntList;
  201.   ExecBasePtr = UNTRACED POINTER TO ExecBase;
  202.   IORequestPtr = UNTRACED POINTER TO IORequest;
  203.   IOStdReqPtr = UNTRACED POINTER TO IOStdReq;
  204.   MemChunkPtr = UNTRACED POINTER TO MemChunk;
  205.   MemHeaderPtr = UNTRACED POINTER TO MemHeader;
  206.   MemEntryPtr = UNTRACED POINTER TO MemEntry;
  207.   MemListPtr = UNTRACED POINTER TO MemList;
  208.   ResidentPtr = UNTRACED POINTER TO Resident;
  209.   SemaphoreRequestPtr = UNTRACED POINTER TO SemaphoreRequest;
  210.   SignalSemaphorePtr = UNTRACED POINTER TO SignalSemaphore;
  211.   SemaphorePtr = UNTRACED POINTER TO Semaphore;
  212.  
  213. TYPE
  214.   CommonNode = STRUCT 
  215.   END;
  216.   CommonNodePtr = UNTRACED POINTER TO CommonNode;
  217.   Node = STRUCT 
  218.     succ : NodePtr;
  219.     pred : NodePtr;
  220.     type : SHORTINT;
  221.     pri : SHORTINT;
  222.     name : STRPTR;
  223.   END;
  224.   MinNode = STRUCT 
  225.     succ : MinNodePtr;
  226.     pred : MinNodePtr;
  227.   END;
  228.  
  229. CONST
  230.   unknown = 0;
  231.   task = 1;
  232.   interrupt = 2;
  233.   device = 3;
  234.   msgPort = 4;
  235.   message = 5;
  236.   freeMsg = 6;
  237.   replyMsg = 7;
  238.   resource = 8;
  239.   library = 9;
  240.   memory = 10;
  241.   softInt = 11;
  242.   font = 12;
  243.   process = 13;
  244.   semaphore = 14;
  245.   signalSem = 15;
  246.   bootNode = 16;
  247.   kickMem = 17;
  248.   graphics = 18;
  249.   deathMessage = 19;
  250.   user = 254;
  251.   extended = 255;
  252.  
  253. TYPE
  254.   CommonList = STRUCT 
  255.   END;
  256.   CommonListPtr = UNTRACED POINTER TO CommonList;
  257.   List = STRUCT 
  258.     head : NodePtr;
  259.     tail : NodePtr;
  260.     tailPred : NodePtr;
  261.     type : SHORTINT;
  262.     pad : BYTE;
  263.   END;
  264.   MinList = STRUCT 
  265.     head,tail,tailPred : MinNodePtr;
  266.   END;
  267.   Task = STRUCT (node : Node) 
  268.     flags : SHORTSET;
  269.     state : SHORTSET;
  270.     idNestCnt : SHORTINT;
  271.     tdNestCnt : SHORTINT;
  272.     sigAlloc : LONGSET;
  273.     sigWait : LONGSET;
  274.     sigRecvd : LONGSET;
  275.     sigExcept : LONGSET;
  276.     trapAlloc : SET;
  277.     trapAble : SET;
  278.     exceptData : APTR;
  279.     exceptCode : PROC;
  280.     trapData : APTR;
  281.     trapCode : PROC;
  282.     spReg : APTR;
  283.     spLower : APTR;
  284.     spUpper : APTR;
  285.     switch : PROC;
  286.     launch : PROC;
  287.     memEntry : List;
  288.     userData : APTR;
  289.   END;
  290.  
  291. CONST
  292.   procTime = 0;
  293.   eTask = 3;
  294.   stackChk = 4;
  295.   exception = 5;
  296.   switch = 6;
  297.   launch = 7;
  298.   inval = 0;
  299.   added = 1;
  300.   run = 2;
  301.   ready = 3;
  302.   wait = 4;
  303.   except = 5;
  304.   removed = 6;
  305.   sigAbort = 0;
  306.   sigChild = 1;
  307.   sigBlit = 4;
  308.   sigSingle = 4;
  309.   sigIntuition = 5;
  310.   sigDos = 8;
  311.  
  312. TYPE
  313.   MsgPort = STRUCT (node : Node) 
  314.     flags : SHORTINT;
  315.     sigBit : SHORTINT;
  316.     sigTask : TaskPtr;
  317.     msgList : List;
  318.   END;
  319.   MsgPortSoftInt = STRUCT (node : Node) 
  320.     flags : SHORTINT;
  321.     sigBit : SHORTINT;
  322.     softInt : InterruptPtr;
  323.     msgList : List;
  324.   END;
  325.  
  326. CONST
  327.   signal = 0;
  328.   softint = 1;
  329.   ignore = 2;
  330.  
  331. TYPE
  332.   Message = STRUCT (node : Node) 
  333.     replyPort : MsgPortPtr;
  334.     length : INTEGER;
  335.   END;
  336.  
  337. CONST
  338.   vectSize = 6;
  339.   reserved = 4;
  340.   base = -vectSize;
  341.   userDef = base - reserved * vectSize;
  342.   nonStd = userDef;
  343.   open = -6;
  344.   close = -12;
  345.   expunge = -18;
  346.   extFunc = -24;
  347.  
  348. TYPE
  349.   Library = STRUCT (node : Node) 
  350.     flags : SHORTSET;
  351.     pad : BYTE;
  352.     negSize : INTEGER;
  353.     posSize : INTEGER;
  354.     version : INTEGER;
  355.     revision : INTEGER;
  356.     idString : STRPTR;
  357.     sum : LONGINT;
  358.     openCnt : INTEGER;
  359.   END;
  360.  
  361. CONST
  362.   summing = 0;
  363.   changed = 1;
  364.   sumUsed = 2;
  365.   delExp = 3;
  366.  
  367. TYPE
  368.   Device = STRUCT (library : Library) 
  369.   END;
  370.   Unit = STRUCT (msgPort : MsgPort) 
  371.     flags : SHORTSET;
  372.     pad : BYTE;
  373.     openCnt : INTEGER;
  374.   END;
  375.  
  376. CONST
  377.   active = 0;
  378.   inTask = 1;
  379.   openFail = -1;
  380.   aborted = -2;
  381.   noCmd = -3;
  382.   badLength = -4;
  383.   badAddress = -5;
  384.   unitBusy = -6;
  385.   selfTest = -7;
  386.  
  387. TYPE
  388.   Interrupt = STRUCT (node : Node) 
  389.     data : APTR;
  390.     code : PROC;
  391.   END;
  392.   IntVector = STRUCT 
  393.     data : APTR;
  394.     code : PROC;
  395.     node : NodePtr;
  396.   END;
  397.   SoftIntList = STRUCT (list : List) 
  398.     pad : INTEGER;
  399.   END;
  400.  
  401. CONST
  402.   nmi = 15;
  403.  
  404. TYPE
  405.   ExecBase = STRUCT (libNode : Library) 
  406.     softVer : INTEGER;
  407.     lowMemChkSum : INTEGER;
  408.     chkBase : LONGINT;
  409.     coldCapture : APTR;
  410.     coolCapture : APTR;
  411.     warmCapture : APTR;
  412.     sysStkUpper : APTR;
  413.     sysStkLower : APTR;
  414.     maxLocMem : APTR;
  415.     debugEntry : APTR;
  416.     debugData : APTR;
  417.     alertData : APTR;
  418.     maxExtMem : APTR;
  419.     chkSum : INTEGER;
  420.     intVects : ARRAY 16 OF IntVector;
  421.     thisTask : TaskPtr;
  422.     idleCount : LONGINT;
  423.     dispCount : LONGINT;
  424.     quantum : INTEGER;
  425.     elapsed : INTEGER;
  426.     sysFlags : SET;
  427.     idNestCnt : SHORTINT;
  428.     tdNestCnt : SHORTINT;
  429.     attnFlags : SET;
  430.     attnResched : INTEGER;
  431.     resModules : APTR;
  432.     taskTrapCode : PROC;
  433.     taskExceptCode : PROC;
  434.     taskExitCode : PROC;
  435.     taskSigAlloc : LONGSET;
  436.     taskTrapAlloc : SET;
  437.     memList : List;
  438.     resourceList : List;
  439.     deviceList : List;
  440.     intrList : List;
  441.     libList : List;
  442.     portList : List;
  443.     taskReady : List;
  444.     taskWait : List;
  445.     softInts : ARRAY 5 OF SoftIntList;
  446.     lastAlert : ARRAY 4 OF LONGINT;
  447.     vblankFrequency : SHORTINT;
  448.     powerSupplyFrequency : SHORTINT;
  449.     semaphoreList : List;
  450.     kickMemPtr : APTR;
  451.     kickTagPtr : APTR;
  452.     kickCheckSum : APTR;
  453.     pad0 : INTEGER;
  454.     reserved0 : LONGINT;
  455.     ramLibPrivate : APTR;
  456.     eClockFrequency : LONGINT;
  457.     cacheControl : APTR;
  458.     taskID : LONGINT;
  459.     puddleSize : LONGINT;
  460.     poolThreshold : LONGINT;
  461.     publicPool : MinList;
  462.     mmuLock : APTR;
  463.     reserved : ARRAY 12 OF BYTE;
  464.   END;
  465.  
  466. CONST
  467.   m68010 = 0;
  468.   m68020 = 1;
  469.   m68030 = 2;
  470.   m68040 = 3;
  471.   m68881 = 4;
  472.   m68882 = 5;
  473.   enableI = 0;
  474.   freezeI = 1;
  475.   clearI = 3;
  476.   ibe = 4;
  477.   enableD = 8;
  478.   freezeD = 9;
  479.   clearD = 11;
  480.   dbe = 12;
  481.   writeAllocate = 13;
  482.   copyBack = 31;
  483.  
  484. TYPE
  485.   IORequest = STRUCT (message : Message) 
  486.     device : DevicePtr;
  487.     unit : UnitPtr;
  488.     command : INTEGER;
  489.     flags : SHORTSET;
  490.     error : SHORTINT;
  491.   END;
  492.   IOStdReq = STRUCT (message : Message) 
  493.     device : DevicePtr;
  494.     unit : UnitPtr;
  495.     command : INTEGER;
  496.     flags : SHORTSET;
  497.     error : SHORTINT;
  498.     actual : LONGINT;
  499.     length : LONGINT;
  500.     data : APTR;
  501.     offset : LONGINT;
  502.   END;
  503.  
  504. CONST
  505.   beginIO = -30;
  506.   abortIO = -36;
  507.   quick = 0;
  508.   invalid = 0;
  509.   reset = 1;
  510.   read = 2;
  511.   write = 3;
  512.   update = 4;
  513.   clear = 5;
  514.   stop = 6;
  515.   start = 7;
  516.   flush = 8;
  517.   nonstd = 9;
  518.  
  519. TYPE
  520.   MemChunk = STRUCT 
  521.     next : MemChunkPtr;
  522.     bytes : LONGINT;
  523.   END;
  524.   MemHeader = STRUCT (node : Node) 
  525.     attributes : SET;
  526.     first : MemChunkPtr;
  527.     lower : APTR;
  528.     upper : APTR;
  529.     free : LONGINT;
  530.   END;
  531.   MemEntry = STRUCT 
  532.     addr : APTR;
  533.     length : LONGINT
  534.   END;
  535.   MemList = STRUCT (node : Node) 
  536.     numEntries : INTEGER;
  537.   END;
  538.  
  539. CONST
  540.   any = LONGSET{};
  541.   public = 0;
  542.   chip = 1;
  543.   fast = 2;
  544.   local = 8;
  545.   mem24BitDMA = 9;
  546.   memClear = 16;
  547.   largest = 17;
  548.   reverse = 18;
  549.   total = 19;
  550.   blockSize = 8;
  551.   blockMask = blockSize - 1;
  552.  
  553. TYPE
  554.   Resident = STRUCT 
  555.     matchWord : INTEGER;
  556.     matchTag : ResidentPtr;
  557.     endSkip : APTR;
  558.     flags : SHORTSET;
  559.     version : SHORTINT;
  560.     type : SHORTINT;
  561.     pri : SHORTINT;
  562.     name : STRPTR;
  563.     idString : STRPTR;
  564.     init : APTR;
  565.   END;
  566.  
  567. CONST
  568.   matchWord = 4AFCH;
  569.   autoinit = 7;
  570.   afterDos = 2;
  571.   singleTask = 1;
  572.   coldStart = 0;
  573.  
  574. TYPE
  575.   SemaphoreRequest = STRUCT (link : MinNode) 
  576.     waiter : TaskPtr;
  577.   END;
  578.   SignalSemaphore = STRUCT (link : Node) 
  579.     nestCount : INTEGER;
  580.     waitQueue : MinList;
  581.     multipleLink : SemaphoreRequest;
  582.     owner : TaskPtr;
  583.     queueCount : INTEGER;
  584.   END;
  585.   Semaphore = STRUCT (msgPort : MsgPort) 
  586.     bids : INTEGER;
  587.   END;
  588.  
  589. VAR
  590.   exec : ExecBasePtr;
  591.  
  592. PROCEDURE Supervisor(userFunction: PROC): APTR;
  593. PROCEDURE ExitIntr;
  594. PROCEDURE Schedule;
  595. PROCEDURE Reschedule;
  596. PROCEDURE Switch;
  597. PROCEDURE Dispatch;
  598. PROCEDURE Exception;
  599. PROCEDURE InitCode(startClass: SHORTSET; version: LONGINT);
  600. PROCEDURE InitStruct(initTable: APTR; memory: APTR; size: LONGINT);
  601. PROCEDURE MakeLibrary(funcInit: APTR; structInit: APTR; libInit: PROC; dataSize: LONGINT; segList: BPTR): LibraryPtr;
  602. PROCEDURE MakeFunctions(target: APTR; funcArray: APTR; funcDisplBase: APTR);
  603. PROCEDURE FindResident(name: ARRAY OF CHAR): ResidentPtr;
  604. PROCEDURE InitResident(resident: ResidentPtr; segList: BPTR);
  605. PROCEDURE Alert(alertNum: LONGINT);
  606. PROCEDURE Debug(flags: LONGSET);
  607. PROCEDURE Disable;
  608. PROCEDURE Enable;
  609. PROCEDURE Forbid;
  610. PROCEDURE Permit;
  611. PROCEDURE SetSR(newSR: SET; mask: SET): SET;
  612. PROCEDURE SuperState;
  613. PROCEDURE UserState(sysStack: APTR);
  614. PROCEDURE SetIntVector(intNumber: LONGINT; interrupt: InterruptPtr): InterruptPtr;
  615. PROCEDURE AddIntServer(intNumber: LONGINT; interrupt: InterruptPtr);
  616. PROCEDURE RemIntServer(intNumber: LONGINT; interrupt: InterruptPtr);
  617. PROCEDURE Cause(interrupt: InterruptPtr);
  618. PROCEDURE Allocate(freeList: MemHeaderPtr; byteSize: LONGINT): APTR;
  619. PROCEDURE Deallocate(freeList: MemHeaderPtr; memoryBlock: APTR; byteSize: LONGINT);
  620. PROCEDURE AllocMem(byteSize: LONGINT; requirements: LONGSET): APTR;
  621. PROCEDURE AllocAbs(byteSize: LONGINT; location: APTR): APTR;
  622. PROCEDURE FreeMem(memoryBlock: APTR; byteSize: LONGINT);
  623. PROCEDURE AvailMem(requirements: LONGSET): LONGINT;
  624. PROCEDURE AllocEntry(memList: APTR): APTR;
  625. PROCEDURE FreeEntry(entry: APTR);
  626. PROCEDURE Insert(VAR list: CommonList; node: CommonNodePtr; pred: CommonNodePtr);
  627. PROCEDURE AddHead(VAR list: CommonList; node: CommonNodePtr);
  628. PROCEDURE AddTail(VAR list: CommonList; node: CommonNodePtr);
  629. PROCEDURE Remove(node: CommonNodePtr);
  630. PROCEDURE RemHead(VAR list: CommonList): CommonNodePtr;
  631. PROCEDURE RemTail(VAR list: CommonList): CommonNodePtr;
  632. PROCEDURE Enqueue(VAR list: CommonList; node: CommonNodePtr);
  633. PROCEDURE FindName(VAR list: CommonList; name: ARRAY OF CHAR): CommonNodePtr;
  634. PROCEDURE AddTask(task: TaskPtr; initPC: PROC; finalPC: APTR);
  635. PROCEDURE RemTask(task: TaskPtr);
  636. PROCEDURE FindTask(name: ARRAY OF CHAR): TaskPtr;
  637. PROCEDURE SetTaskPri(task: TaskPtr; priority: LONGINT): SHORTINT;
  638. PROCEDURE SetSignal(newSignals: LONGSET; signalSet: LONGSET): LONGSET;
  639. PROCEDURE SetExcept(newSignals: LONGSET; signalSet: LONGSET): LONGSET;
  640. PROCEDURE Wait(signalSet: LONGSET): LONGSET;
  641. PROCEDURE Signal(task: TaskPtr; signalSet: LONGSET);
  642. PROCEDURE AllocSignal(signalNum: LONGINT): SHORTINT;
  643. PROCEDURE FreeSignal(signalNum: LONGINT);
  644. PROCEDURE AllocTrap(trapNum: LONGINT): SHORTINT;
  645. PROCEDURE FreeTrap(trapNum: LONGINT);
  646. PROCEDURE AddPort(port: MsgPortPtr);
  647. PROCEDURE RemPort(port: MsgPortPtr);
  648. PROCEDURE PutMsg(port: MsgPortPtr; message: MessagePtr);
  649. PROCEDURE GetMsg(port: MsgPortPtr): MessagePtr;
  650. PROCEDURE ReplyMsg(message: MessagePtr);
  651. PROCEDURE WaitPort(port: MsgPortPtr);
  652. PROCEDURE FindPort(name: ARRAY OF CHAR): MsgPortPtr;
  653. PROCEDURE AddLibrary(library: LibraryPtr);
  654. PROCEDURE RemLibrary(library: LibraryPtr);
  655. PROCEDURE OldOpenLibrary(name: ARRAY OF CHAR): LibraryPtr;
  656. PROCEDURE CloseLibrary(library: LibraryPtr);
  657. PROCEDURE SetFunction(library: LibraryPtr; funcOffset: LONGINT; newFunction: PROC): PROC;
  658. PROCEDURE SumLibrary(library: LibraryPtr);
  659. PROCEDURE AddDevice(device: DevicePtr);
  660. PROCEDURE RemDevice(device: DevicePtr);
  661. PROCEDURE OpenDevice(devName: ARRAY OF CHAR; unit: LONGINT; ioRequest: MessagePtr; flags: LONGSET): SHORTINT;
  662. PROCEDURE CloseDevice(ioRequest: MessagePtr);
  663. PROCEDURE DoIO(ioRequest: MessagePtr): SHORTINT;
  664. PROCEDURE OldDoIO(ioRequest: MessagePtr);
  665. PROCEDURE SendIO(ioRequest: MessagePtr);
  666. PROCEDURE CheckIO(ioRequest: MessagePtr): IORequestPtr;
  667. PROCEDURE WaitIO(ioRequest: MessagePtr): SHORTINT;
  668. PROCEDURE OldWaitIO(ioRequest: MessagePtr);
  669. PROCEDURE AbortIO(ioRequest: MessagePtr);
  670. PROCEDURE AddResource(resource: APTR);
  671. PROCEDURE RemResource(resource: APTR);
  672. PROCEDURE OpenResource(resName: ARRAY OF CHAR): APTR;
  673. PROCEDURE RawIOInit;
  674. PROCEDURE RawMayGetChar;
  675. PROCEDURE RawPutChar;
  676. PROCEDURE RawDoFmt(formatStr: ARRAY OF CHAR; dataStream: APTR; putChProc: PROC; putChData: APTR);
  677. PROCEDURE RawDoFmtL(formatStr: ARRAY OF CHAR; dataStream: ARRAY OF SYSTEM.BYTE; putChProc: PROC; putChData: APTR);
  678. PROCEDURE GetCC(): SET;
  679. PROCEDURE TypeOfMem(address: APTR): LONGSET;
  680. PROCEDURE Procure(VAR semaprt: Semaphore; bidmsg: MessagePtr): BOOLEAN;
  681. PROCEDURE Vacate(VAR semaprt: Semaphore);
  682. PROCEDURE OpenLibrary(libName: ARRAY OF CHAR; version: LONGINT): LibraryPtr;
  683. PROCEDURE InitSemaphore(VAR sigSem: SignalSemaphore);
  684. PROCEDURE ObtainSemaphore(VAR sigSem: SignalSemaphore);
  685. PROCEDURE ReleaseSemaphore(VAR sigSem: SignalSemaphore);
  686. PROCEDURE AttemptSemaphore(VAR sigSem: SignalSemaphore): BOOLEAN;
  687. PROCEDURE ObtainSemaphoreList(VAR sigSem: List);
  688. PROCEDURE ReleaseSemaphoreList(VAR sigSem: List);
  689. PROCEDURE FindSemaphore(sigSem: ARRAY OF CHAR): SignalSemaphorePtr;
  690. PROCEDURE AddSemaphore(VAR sigSem: SignalSemaphore);
  691. PROCEDURE RemSemaphore(VAR sigSem: SignalSemaphore);
  692. PROCEDURE SumKickData(): LONGINT;
  693. PROCEDURE AddMemList(size: LONGINT; attributes: LONGSET; pri: LONGINT; base: APTR; name: ARRAY OF CHAR);
  694. PROCEDURE CopyMem(source: ARRAY OF BYTE; dest: ARRAY OF BYTE; size: LONGINT);
  695. PROCEDURE CopyMemAPTR(source: APTR; dest: APTR; size: LONGINT);
  696. PROCEDURE CopyMemQuick(source: ARRAY OF BYTE; dest: ARRAY OF BYTE; size: LONGINT);
  697. PROCEDURE CopyMemQuickAPTR(source: APTR; dest: APTR; size: LONGINT);
  698. PROCEDURE CacheClearU();
  699. PROCEDURE CacheClearE(address: APTR; length: LONGINT; caches: LONGSET);
  700. PROCEDURE CacheControl(cacheBits: LONGSET; cacheMask: LONGSET): LONGSET;
  701. PROCEDURE CreateIORequest(port: MsgPortPtr; size: LONGINT): MessagePtr;
  702. PROCEDURE DeleteIORequest(iorequest: MessagePtr);
  703. PROCEDURE CreateMsgPort(): MsgPortPtr;
  704. PROCEDURE DeleteMsgPort(port: MsgPortPtr);
  705. PROCEDURE ObtainSemaphoreShared(VAR sigSem: SignalSemaphore);
  706. PROCEDURE AllocVec(byteSize: LONGINT; requirements: LONGSET): APTR;
  707. PROCEDURE FreeVec(memoryBlock: APTR);
  708. PROCEDURE CreatePrivatePool(requirements: LONGSET; puddleSize: LONGINT; puddleThresh: LONGINT): MemHeaderPtr;
  709. PROCEDURE DeletePrivatePool(poolHeader: MemHeaderPtr);
  710. PROCEDURE AllocPooled(memSize: LONGINT; poolHeader: MemHeaderPtr): APTR;
  711. PROCEDURE FreePooled(memory: APTR; poolHeader: MemHeaderPtr);
  712. PROCEDURE SetFunction8(funcOffset: LONGINT; newFunction: PROC; array: APTR; library: APTR);
  713. PROCEDURE ColdReboot;
  714. PROCEDURE StackSwap(newSize: LONGINT; newSP: LONGINT; newStack: APTR);
  715. PROCEDURE ChildFree(tid: APTR);
  716. PROCEDURE ChildOrphan(tid: APTR);
  717. PROCEDURE ChildStatus(tid: APTR);
  718. PROCEDURE ChildWait(tid: APTR);
  719.  
  720. END Exec.
  721.  
  722.